package ar.com.sectorwine.entities;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.NotEmpty;

@Entity
public class Stock implements Serializable, EliminableLogicamente {

	private static final long serialVersionUID = 289114863889051755L;

	private static final String CAMPO_NULO_O_VACIO_MESSAGE = "Debe ingresar un valor en este campo";

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	Double color;
	
	Double ph;
	
	Double ntu;

	@NotEmpty(message = CAMPO_NULO_O_VACIO_MESSAGE)
	String variedad;

	Double acidez;

	Double alcohol;

	Double azucar;

	@NotNull(message = CAMPO_NULO_O_VACIO_MESSAGE)
	Integer cantidad;

	int cosecha;

	@NotEmpty(message = CAMPO_NULO_O_VACIO_MESSAGE)
	@NotNull(message = CAMPO_NULO_O_VACIO_MESSAGE)
	String idINV;

	String maceracion;

	double precio;

	Date vencimiento;

	Date fechaCreacionStock;

	private Date fechaVenta;

	@Column(name = "baja")
	private Boolean baja = false;

	public Double getPh() {
		return ph;
	}

	public void setPh(Double ph) {
		this.ph = ph;
	}

	public Double getNtu() {
		return ntu;
	}

	public void setNtu(Double ntu) {
		this.ntu = ntu;
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the variedad
	 */
	public String getVariedad() {
		return variedad;
	}

	/**
	 * @param variedad
	 *            the variedad to set
	 */
	public void setVariedad(String variedad) {
		this.variedad = variedad;
	}

	/**
	 * @return the cantidad
	 */
	public Integer getCantidad() {
		return cantidad;
	}

	/**
	 * @param cantidad
	 *            the cantidad to set
	 */
	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	/**
	 * @return the edad
	 */
	public int getEdad() {
		return cosecha;
	}

	/**
	 * @param edad
	 *            the edad to set
	 */
	public void setEdad(int edad) {
		this.cosecha = edad;
	}

	/**
	 * @return the idINV
	 */
	public String getIdINV() {
		return idINV;
	}

	/**
	 * @param idINV
	 *            the idINV to set
	 */
	public void setIdINV(String idINV) {
		this.idINV = idINV;
	}

	/**
	 * @return the maceracion
	 */
	public String getMaceracion() {
		return maceracion;
	}

	/**
	 * @param maceracion
	 *            the maceracion to set
	 */
	public void setMaceracion(String maceracion) {
		this.maceracion = maceracion;
	}

	/**
	 * @return the precio
	 */
	public double getPrecio() {
		return precio;
	}

	/**
	 * @param precio
	 *            the precio to set
	 */
	public void setPrecio(double precio) {
		this.precio = precio;
	}

	/**
	 * @return the vencimiento
	 */
	public Date getVencimiento() {
		return vencimiento;
	}

	/**
	 * @param vencimiento
	 *            the vencimiento to set
	 */
	public void setVencimiento(Date vencimiento) {
		this.vencimiento = vencimiento;
	}

	/**
	 * @return the fechaCreacionStock
	 */
	public Date getFechaCreacionStock() {
		return fechaCreacionStock;
	}

	/**
	 * @param fechaCreacionStock
	 *            the fechaCreacionStock to set
	 */
	public void setFechaCreacionStock(Date fechaCreacionStock) {
		this.fechaCreacionStock = fechaCreacionStock;
	}

	/**
	 * @return the baja
	 */
	public Boolean getBaja() {
		return baja;
	}

	/**
	 * @param baja
	 *            the baja to set
	 */
	public void setBaja(Boolean baja) {
		this.baja = baja;
	}

	public Date getFechaVenta() {
		return fechaVenta;
	}

	public void setFechaVenta(Date fechaVenta) {
		this.fechaVenta = fechaVenta;
	}

	public Double getColor() {
		return color;
	}

	public void setColor(Double color) {
		this.color = color;
	}

	public Double getAcidez() {
		return acidez;
	}

	public void setAcidez(Double acidez) {
		this.acidez = acidez;
	}

	public Double getAlcohol() {
		return alcohol;
	}

	public void setAlcohol(Double alcohol) {
		this.alcohol = alcohol;
	}

	public Double getAzucar() {
		return azucar;
	}

	public void setAzucar(Double azucar) {
		this.azucar = azucar;
	}

}
